package com.chen.exception;

/**
 * @author: cgd
 * @description:
 * @date: 2022/4/13 13:48
 * @version: 1.0
 */
public enum ExceptionEnum implements BusinessExceptionAssert {
    /**
     * 服务异常
     **/
    SERVER_ERROR("0001", "服务异常", ""),
    /**
     * 处理失败
     **/
    DATA_HANDLE_ERROR("0002", "处理失败", ""),
    /**
     * 非法参数
     **/
    VALID_ERROR("0003", "非法参数", ""),
    /**
     * 请求异常
     **/
    WEB_REQ_ERROR("0004", "请求异常", ""),
    /**
     * 信息不存在
     **/
    CODE_NOT_EXIST("0005", "信息不存在", ""),
    /**
     * 信息已存在
     **/
    CODE_EXIST("0006", "信息已存在", ""),
    /**
     * 设备数量已超出证书许可最大限制数，请联系系统管理员更新证书
     **/
    DEVICE_EXCESS("0007", "设备数量已超出证书许可最大限制数，请联系系统管理员更新证书", ""),
    /**
     * 数据不规范
     **/
    DATA_ERROR("0008", "数据不规范", ""),
    /**
     * 业务异常
     **/
    BUSINESS_ERROR("0009", "业务异常", "");

    /**
     * 错误码前两位是模块代号，后两位是错误码
     */
    private final String code;

    private final String msg;

    private final String localKey;

    ExceptionEnum(String code, String msg, String localKey) {
        this.code = code;
        this.msg = msg;
        this.localKey = localKey;
    }

    @Override
    public String getCode() {
        return code;
    }

    @Override
    public String getMessage() {
        return msg;
    }

    @Override
    public String getLocalKey() {
        return localKey;
    }
}